#include <rclcpp/rclcpp.hpp>

class Param: public rclcpp::Node
{
public:
    Param():Node("param_node")
    {
      RCLCPP_INFO(this->get_logger(),"param_node创建");
      rclcpp::Parameter p1("car_name","tiger");
      rclcpp::Parameter p2("height",1.68);
      // rclcpp::Parameter内部，整数默认是以 ​64 位​ 存储的。你代码中的 4这个字面量在传递给 
      //rclcpp::Parameter构造函数时，会被提升并存储为 int64_t类型
      rclcpp::Parameter p3("wheels",4);// 这个转化为int64
      RCLCPP_INFO(this->get_logger(),"car_name=%s",p1.as_string().c_str());
      RCLCPP_INFO(this->get_logger(),"height=%.2f",p2.as_double());
      RCLCPP_INFO(this->get_logger(),"wheels=%ld",p3.as_int()); //int64_t
      //
      RCLCPP_INFO(this->get_logger(),"%s",p1.get_name().c_str());
      RCLCPP_INFO(this->get_logger(),"%s",p1.get_type_name().c_str());
      RCLCPP_INFO(this->get_logger(),"%s",p2.value_to_string().c_str());
      //rclcpp::ParameterValue value();
    }
};
int main(int argc, char ** argv)
{
    rclcpp::init(argc,argv);
    rclcpp::spin(std::make_shared<Param>());
    rclcpp::shutdown();
    return 0;
}